package com.andy.note.boot.model.entity.doctor;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import com.andy.note.boot.enums.doctor.BookChargeBMP;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

/**
 * <p>
 * 
 * </p>
 *
 * @author andy
 * @since 2021-07-30
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("doctor_info")
//@JsonIgnoreProperties({"good"})
public class DoctorInfo extends Model<DoctorInfo> {

    private static final long serialVersionUID = 1L;

    /**
     * ID
     */
    @TableId(value = "ID", type = IdType.AUTO)
    private Long id;

    /**
     * 职称
     */
    @TableField("DOCTOR_TITLE")
    private String doctorTtitle;

    /**
     * 医生名
     */
    @TableField("DOCTOR_NAME")
    private String doctorName;

    /**
     * 擅长
     */
    @TableField("SKILL")
    private String skill;

    /**
     * 介绍
     */
    @TableField("DESCRIPTION")
    private String description;
    
    /**
     * 挂号费
     */
    @TableField("BOOKING_CHARGE")
//    private Integer bookingCharge;
    private BookChargeBMP bookingCharge;

    @Override
    protected Serializable pkVal() {
        return this.id;
    }
    
//    @JsonProperty("good")
    @JsonIgnore
    public List getGood() {
        List<Integer> list = new ArrayList<>();
        list.add(1);
        list.add(2);
        list.add(3);
        list.add(4);
        list.add(5);
        return list;
    }

}
